﻿//
// *************************************************************************************
// WP-Framework
//
// Developed by 
// Lukas Kretschmar (lkretschmar.dev@bluewin.ch)
//
// Switzerland, Copyright (c) 2012 lkretschmar
// This content is released under the MIT License (http://opensource.org/licenses/MIT).
//     
// *************************************************************************************
//
//


using KretschIT.WP_Fx.EasyMoq.Conditions;

namespace KretschIT.WP_Fx.EasyMoq
{
    public class Condition
    {
        public static ICondition Never()
        {
            return new Never();
        }

        public static ICondition Once()
        {
            return new Once();
        }

        public static ICondition AtLeastOnce()
        {
            return new AtLeast(1);
        }

        public static ICondition AtLeast(int count)
        {
            return new AtLeast(count);
        }

        public static ICondition AtMostOnce()
        {
            return new AtMost(1);
        }

        public static ICondition AtMost(int count)
        {
            return new AtMost(count);
        }

        public static ICondition Between(int lowerBound, int upperBound)
        {
            return new Between(lowerBound, upperBound);
        }

        public static ICondition Exactly(int count)
        {
            return new Exactly(count);
        }
    }
}
